零(0)是一个整数。由于各种标准转换(6.2.3节),0可以被用于作为任何整型(4.1.1节)、浮点类型、指针、还有指向成员的指针的常量。0的类型将由上下文确定。在典型情况下0被表示为一个适当大小的全零二进制的模式(但也不必如此)。

  没有任何对象会被分配到地址0,因此,0也被当做一个指针文字量,表明一个指针当时并没有指向任何对象。

  在C中流行的是一个宏NULL表示0指针。由于C++收紧的类型检查规则,采用普通的0而不是一些人建议的NULL宏,带来的问题会更少一些。如果你感到必须定义NULL,请采用

const int NULL = 0;

用const限定词(5.4节)是为防止无意地重新定义NULL,并保证NULL可以用到那些要求常量的地方。

🔚